using System;
using System.Collections.Generic;
using Me.Prettyprint.Cassandra.Connection;
using Me.Prettyprint.Cassandra.Model;
using Me.Prettyprint.Cassandra.Serializers;
using Me.Prettyprint.Cassandra.Service;
using Me.Prettyprint.Cassandra.Utils;
using Me.Prettyprint.Hector.Api;
using Me.Prettyprint.Hector.Api.Beans;
using Me.Prettyprint.Hector.Api.Factory;
using Me.Prettyprint.Hector.Api.Query;
using Org.Apache.Cassandra.Thrift;

namespace Me.Prettyprint.Cassandra.Service
{
	public class KeyspaceServiceFactory<K>
	{
        private CassandraClientMonitor clientMonitor;
        
        public KeyspaceServiceFactory(CassandraClientMonitor clientMonitor)
        {
            this.clientMonitor = clientMonitor;
        }
        public KeyspaceService Create(string keyspaceName, ConsistencyLevelPolicy consistencyLevel,
            HConnectionManager connectionManager, FailoverPolicy failoverPolicy)
        {
            return new KeyspaceServiceImpl(keyspaceName, consistencyLevel, connectionManager, failoverPolicy);
        }
        public KeyspaceService Create(string keyspaceName, ConsistencyLevelPolicy consistencyLevel,
            HConnectionManager connectionManager, FailoverPolicy failoverPolicy,
            Dictionary<string, string> credentials)
        {
            return new KeyspaceServiceImpl(keyspaceName, consistencyLevel, connectionManager, failoverPolicy, credentials);
        }
	}
}